<?php

/**
 * Rpc 基类，所有Rpc控制器需要继承此类
 */

namespace app\common\rpc;
abstract class Rpc
{
    /**
    * RPC内部方法调用
    * @param type $api   参数格式 模块/控制器/操作
    * @param type $paras 调用参数 必须为数组
    * @return mixed
    */
    protected function rpc($api='', $paras = [])
    {
        $api = explode("/", $api);
        if (count($api) != 3) {
            return null;
        }
        $cls = $api[0]."/".$api[1];
        $model = \think\Loader::model($cls, 'rpc');
        return call_user_func_array([$model, $api[2]], $paras);
    }
}
